5. 특이 케이스 추가하기

  • 특수한 경우의 공통 동작을 한곳에 모으자.

  • 리팩터링 과정에서 코드를 일괄적으로 바꿔야 한다면 해당 함수에 에러처리 구문을 넣어, 실수가 있는지 확인하자.

  • 특이 케이스의 경우라면 특이 케이스 객체를 반환하여 기본값 처리를 하자.

  • 데이터 구조를 변환하는 함수

    • enrich: 부가 정보 추가
    • transform :형태를 바꾸는 경우
  • 특수한 경우의 공통 동작을 한곳에 모으자.

const site = acquireSiteData()
const aCustomer = site.customer
if (aCustomer === '미확인 고객')
  // 1. 반복되는 검사 케이스 확인

  function isUnknown(aCustomer) {
    return aCustomer === '미확인 고객'
  } // 2. 함수로 추출

// 3. 객체 자체에 unKnown 관련 정보와 특이케이스일 때의 정보를 삽입
function enrichSite(site) {
  const result = _.cloneDepp(site)

  if (isUnknown(result.customer)) {
    result.customer = unknownCustomer
  }
}

// 4. 클라이언트(게스트)에서는 비교 구문 없이 참조만으로도 특이케이스일 때의 정보가 나옴.

results matching ""

    No results matching ""